/*
 * @Author: hucc
 * @Date: 2021-09-30 11:45:49
 * @LastEditors: hucc
 * @LastEditTime: 2021-10-05 16:52:25
 * @Description: 
 */

let _obj = {
    a: 1,
    b: 2,
    c: 3
}

let obj = {

}

for (let k in _obj) {
    Object.defineProperty(obj, k, {
        value: ++_obj[k], //执行这一步{a：2 b:3 c:4}
        enumerable: true, //可枚举才可输出
        writable: k === 'b' ? false : true, //意思是执行到这一步 如果b=3就不能可写了 即不能改变值了 所以下面的for循环b不会加一
        //a和c是可写 可自增自减运算
        configurable: true //可配置才可删除
    })
}

for (let k in obj) {
    obj[k]++ //执行到这 {a:3 b:3 c:5}
}

delete obj.a //删除a
console.log(obj);

/**
 * let _obj = {
    a: 1,
    b: 2,
    c: 3
}

let obj = {

}
console.log(obj);
 * 使用Object.defineProperty()以及以上提示，完成代码重构
 * 要求打印obj的结果：
 * {
 *  b: 3,
 *  c: 5
 * }
 */